package com.yvon.maple.service.system.dto;


import com.yvon.maple.enums.GenderEnum;
import com.yvon.maple.pojo.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * @author : Yvon
 * @version : 1.0
 * @since : 2021/3/15
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel("用户响应参数")
public class UserDTO  extends BaseDTO implements Serializable {

    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    private String username;

    /**
     * 昵称
     */
    @ApiModelProperty(value = "昵称")
    private String nickname;

    /**
     * 电话
     */
    @ApiModelProperty(value = "电话")
    private String phone;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    private String email;

    /**
     * 头像
     */
    @ApiModelProperty( value = "头像")
    private String avatar;

    /**
     * 性别
     */
    @ApiModelProperty(value = "性别")
    private GenderEnum gender;


    /**
     * 帐户未过期
     */
    @ApiModelProperty(value = "帐户未过期")
    private Boolean accountNonExpired;

    /**
     * 账户未锁定
     */
    @ApiModelProperty(value = "账户未锁定")
    private Boolean accountNonLocked;

    /**
     * 信用未过期
     */
    @ApiModelProperty(value = "信用未过期")
    private Boolean credentialsNonExpired;

    /**
     * 启用
     */
    @ApiModelProperty(value = "是否启用")
    private Boolean enabled;

    /**
     * 角色
     */
    @ApiModelProperty(value = "角色")
    private List<UserRoleDTO> roles;

    /**
     * 部门
     */
    private List<UserDeptDTO> depts;

    /**
     * 照片
     */
    @ApiModelProperty(value = "照片")
    private List<String> photo;

    /**
     * 权限
     */
    @ApiModelProperty(value = "权限")
    private List<String> permissions;

}
